#include<stdio.h>
#include<stdlib.h>
#include<signal.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>

void handler(int signo)
{
    printf("进程 %d 捕捉到了 %d 号信号\n", getpid(), signo);
}

int main()
{
    signal(SIGCHLD,handler);

    pid_t id = fork();
    if(id == 0)
    {
        int n =5;
        while(n)
        {
             printf("子进程剩余生存时间: %d秒 [pid: %d  ppid: %d]\n", n--, getpid(), getppid());
        }

        // 子进程退出
        exit(-1);
    }

    waitpid(id,NULL,0);
    return 0;
}